/**
 * 
 */
package com.legrand.core.exception;

import java.io.Serializable;

/**
 * @author tomaer <i@tomaer.com>
 * @version 1.0
 *
 */
public interface Exceptions extends Serializable {

	/**
	 * 返回给前端，也就是Response的Http Status code
	 * 
	 * @return
	 */
	int getStatusCode();

	/**
	 * 业务自定义错误码
	 * 
	 * @return
	 */
	String getCode();

	/**
	 * 返回给开发人员的错误消息
	 * 
	 * @return
	 */
	String getDevMessage();

	/**
	 * 返回给用户的错误消息
	 * 
	 * @return
	 */
	String getUsrMessage();

	/**
	 * 错误堆栈信息
	 * 
	 * @return
	 */
	String getStack();

	void setDevMessage(final String devMessage);

	void setUsrMessage(final String usrMessage);

	void setStack(final String stack);

}
